package GUI.modelosTablas;

import base.Servicio;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author Efren
 */
public class ServiciosPrestadosDefaultTableModel extends DefaultTableModel{
    private boolean editable;
    
    public ServiciosPrestadosDefaultTableModel(boolean editable){
       super();
       this.editable = editable;
       this.setColumnIdentifiers(new Object[]{ "Nombre",  "Unidades", "Tiempo Estimado / Unidad", "Precio / Unidad"});
    }
    public ServiciosPrestadosDefaultTableModel(boolean editable, Servicio[] servicios){
        super();
        this.editable = editable;
        this.setColumnIdentifiers(new Object[]{ "Nombre",  "Unidades", "Tiempo Estimado / Unidad", "Precio / Unidad"});
        if (servicios != null){
            for (Servicio temp : servicios){
                if (temp != null){
                añadirFila(temp);
                }
            }
        }
        
    }
    public double calcularCoste(){
        double coste= 0D;
        for (int i = 0; i < this.getRowCount();i++){
            int unidades = (int)this.getValueAt(i, 1);
            String precio = (String)this.getValueAt(i,3);
            double valor = Double.parseDouble(precio.substring(0,precio.indexOf(" ")));
            coste += (unidades * valor);
        }
        return coste;
    }
    public final void añadirFila(Servicio temp){
        this.addRow(new Object[]{temp.getNombre(), temp.getUnidades(), temp.getTiempoEstimado(), temp.getPrecio() + " €"});
    }
    @Override
    public boolean isCellEditable(int i, int i1) {
        if (editable){
            return super.isCellEditable(i, i1);
        }else {
            return false;
        }
    }
    
}
